﻿namespace Solution
{
    public interface IStandardResult
    {
        #region Properties

        string Message
        {
            get; set;
        }

        int State
        {
            get; set;
        }

        #endregion Properties

        #region Methods

        void Fail();

        void Fail(string message);

        void Succeed();

        void Succeed(string message);

        #endregion Methods
    }

    public interface IStandardResult<T> : IStandardResult
    {
        #region Properties

        T Value
        {
            get; set;
        }

        #endregion Properties
    }
}